package main

import (
	"fmt"
	"log"
	"net/url"
)

func main() {
	//EscapedFragment 返回 u.Fragment 的转义形式。 一般来说，任何片段都有多种可能的转义形式。
	//当 EscapedFragment 是 u.Fragment 的有效转义时，它返回 u.RawFragment。
	//否则 EscapedFragment 会忽略 u.RawFragment 并自行计算转义形式。 String 方法使用 EscapedFragment 来构造其结果。
	//一般来说，代码应该调用 EscapedFragment 而不是直接读取 u.RawFragment

	u, err := url.Parse("http://example.com/#x/y%2Fz")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("Fragment:", u.Fragment)
	fmt.Println("RawFragment:", u.RawFragment)
	fmt.Println("EscapedFragment:", u.EscapedFragment())
	//Fragment: x/y/z
	//RawFragment: x/y%2Fz
	//EscapedFragment: x/y%2Fz
}
